package com.doudou.collection.mapper;

import com.doudou.collection.pojo.entity.Blog;
import com.doudou.collection.pojo.vo.BlogCategoriesVO;
import com.doudou.collection.pojo.vo.BlogDetailVO;
import com.doudou.collection.pojo.vo.ContentIndexVO;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface BlogMapper {

    /*发布文章功能*/
    int insert(Blog blog);

    /*根据文章id删除文章*/
    int delete(Long id);

    /*根据分类id获取文章列表功能*/
    List<ContentIndexVO> selectByCategoriesId(Integer categoriesId);

    /*根据id获取文章具体信息,每查询一次增加一个浏览量*/
    BlogDetailVO detailById(Long id);

    /*增加文章浏览量,每查询一次增加一个浏览量*/
    void updateViewCountById(Long id);

    /*获取所有文章类别*/
    List<BlogCategoriesVO> selectAllCategories();

    /*查询自己发布的所有文章*/
    List<ContentIndexVO> selectSelfBlogsById(Long id);

    /*查询自己点赞的所有文章*/
    List<ContentIndexVO> selectLikeBlogsAllById(Long id);

    /*查询自己收藏的所有文章*/
    List<ContentIndexVO> selectCollectBlogsAllById(Long id);

}